1. Field
The present invention relates to the field of data verification, and more particularly to verification of the operating conditions of electronic circuits.
2. Background Information
In the modern world, large amounts of information are manipulated and transmitted electronically. Unfortunately, electronic information may be vulnerable to manipulation, tampering, or intrusion by unauthorized third parties. To prevent such unwanted activity, electronic data may be processed in ways which make its contents less vulnerable to intrusion or tampering.
For example, electronic data may be encoded in order to make the contents unrecognizable from its original form. To reduce the risk of unauthorized tampering, the data may be “signed” with a digital signature. Digital signatures may involve the generation and encryption of a unique hash value representing the information, in various manners well known in the art.
Such data operations may be performed using hardware circuits. Use of hardware circuits may increase the speed of such data operations as compared with the use of software executed on a general purpose processor for the same purpose. Hardware circuits may also provide an added security benefit by making it more difficult for unauthorized parties to inspect the logic inherent within the operation.
Unfortunately, unauthorized third parties may attempt to alter the results produced by hardware circuits in an attempt to ascertain the logic within the circuits. One approach involves the intentional variation of the predetermined operating conditions (voltage, temperature, clock frequency, etc.) of the circuit in order to cause the circuit to output intermediate operation results. For example, a third party may increase the frequency of the clock signal applied to the circuit beyond the maximum predetermined operating frequency of the circuit, which may cause the circuit to output intermediate results of the circuit's operation. Other circuit conditions which may be altered include the operating voltage and operating temperature. An increase in the circuit temperature or a decrease in the operating voltage beyond the circuit's operational limits may cause the circuit to output intermediate results.
Consider a hardware circuit implementing the Digital Encryption Standard: 1977 (DES) operation. A complete DES operation may comprise sixteen rounds (iterations) of processing, each subsequent round inputting and operating on the results of the previous round. A synchronous hardware circuit implementing the DES operation may implement multiple rounds (n rounds) of processing per clock cycle. The intermediate result of each n rounds is provided as an input signal for processing during a subsequent clock cycle. After sixteen rounds of processing, the circuit outputs a final result of the DES operation. However, by altering the operating conditions of the circuit it may be possible to cause the circuit to output a final result which represents, for example, only eight rounds of processing. This intermediate result may yield clues about the details of the DES operation which may not be as readily available from the sixteen-round final output of the circuit.